package com.jzg.sys.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 交易账户
 * </p>
 *
 * @author lzp
 * @since 2019-02-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BASE_TRAN_ACCOUNT")
public class BaseTranAccount extends Model<BaseTranAccount> {

    private static final long serialVersionUID = 1L;

    /**
     * 交易账户ID
     */
    @TableId("TRAN_ACCOUNT_ID")
    private String tranAccountId;

    /**
     * 交易通道:01支付宝，02微信
     */
    @TableField("TRAN_MODE")
    private String tranMode;

    /**
     * 合作身份者ID，以2088开头由16位纯数字组成的字符串;微信分配的公众号ID
     */
    @TableField("PARTNER")
    private String partner;

    /**
     * 收款支付宝账号，一般情况下收款账号就是签约账号;微信支付分配的商户号ID
     */
    @TableField("SELLER_EMAIL")
    private String sellerEmail;

    /**
     * 商户的私钥
     */
    @TableField("KEY")
    private String key;

    /**
     * 页面跳转同步通知页面路径
     */
    @TableField("RETURN_URL")
    private String returnUrl;

    /**
     * 服务器异步通知页面路径
     */
    @TableField("NOTIFY_URL")
    private String notifyUrl;

    /**
     * 退款异步通知页面
     */
    @TableField("RETURN_NF_URL")
    private String returnNfUrl;

    /**
     * 系统编码
     */
    @TableField("SYS_CODE")
    private String sysCode;

    /**
     * 系统名称
     */
    @TableField("SYS_NAME")
    private String sysName;

    /**
     * 排序码
     */
    @TableField("SORT_NO")
    private String sortNo;

    /**
     * 是否有效:0无效，1有效
     */
    @TableField("IS_VALID")
    private Boolean isValid;

    @TableField("WITHDRAW_URL")
    private String withdrawUrl;

    @TableField("ACCOUNT_NAME")
    private String accountName;

    /**
     * 开发者密码
     */
    @TableField("APP_SECRET")
    private String appSecret;

    /**
     * 参数描述
     */
    @TableField("PAY_DES")
    private String payDes;

    @TableField("ACCESS_TOKEN")
    private String accessToken;

    @TableField("WEB_ACCESS_TOKEN")
    private String webAccessToken;

    @TableField("JSAPI_TICKET")
    private String jsapiTicket;


    @Override
    protected Serializable pkVal() {
        return this.tranAccountId;
    }

}
